package hocusPocus.Partie;
import java.util.ArrayList;
import java.util.Stack;


public class Chaudron {
	private static Stack<Gemme> gemmes = new Stack<Gemme>();

	Chaudron(int nbGemmes) {
		for(int i = 0; i < nbGemmes; i++) 
			gemmes.push(new Gemme());
	}

	/**
	 * Retourne le nombre de gemmes
	 * @return
	 */
	public int recupererNbGemmes() {
		if(gemmes.empty()) return 0;
		return gemmes.size();
	}

	/**
	 * Ajoute un gemme dans le chaudron
	 * @param nbGemmes
	 */
	public void deposerGemmes(Gemme g) {
		gemmes.push(g);
	}
	/**
	 * Surcharge: ajoute un nombre de gemmes defini dans le chaudron
	 * @param nbGemmes
	 */
	public static void deposerGemmes(ArrayList<Gemme> listeGemmes) {
		for(Gemme gemme : listeGemmes)
			gemmes.push(gemme);
	}

	/**
	 * Retourner le nombre de gemmes specifie
	 * @param nbGemmes
	 * @return un gemme ou une liste de gemmes
	 */
	public ArrayList<Gemme> piocherGemmes(int nbGemmes) {
		ArrayList<Gemme> gemmesDemandes = new ArrayList<Gemme>();
		
		if(nbGemmes == 1 && !gemmes.empty()) 
			gemmesDemandes.add(gemmes.pop());
		else{
			for(int i = 0; i < nbGemmes; i++) {
				if(!gemmes.isEmpty())
					gemmesDemandes.add(gemmes.pop());
			}
		}
		return gemmesDemandes;
	}
	
	public Gemme piocherUnGemme() {
		return gemmes.pop();
	}
}
